package producerConsumer;

/**
 * @Author: linKe
 * @Date: 2022/1/15 14:28
 * @FileName: Channel
 * @version: 1.0
 * @Description: 通道接口
 * 生产者 消费者模式
 */
public interface Channel<E> {

    /**
     * 加入通道
     *
     * @param e 泛型对象
     * @throws InterruptedException 中断异常
     */
    void put(E e) throws InterruptedException;

    /**
     * 取出通道
     *
     * @return 结果
     * @throws InterruptedException 中断异常
     */
    E take() throws InterruptedException;

}
